﻿using Abp.Domain.Entities.Auditing;
using Abp.Runtime.Validation;
using Camc.Quality.Dto;
using Camc.Quality.Inspection.InspectionStrat;
using System;
using System.Collections.Generic;
using System.Text;

namespace Camc.Quality.Inspection
{
    public class InspectionReturnCheckDto : FullAuditedEntity<Guid>
    {
        /// <summary>
        /// 异常单号
        /// </summary>
        public string Code { get; set; }

        /// <summary>
        /// 一级异常ID
        /// </summary>

        public Guid InspectionTypeDescId { get; set; }
        /// <summary>
        /// 一级异常
        /// </summary>
        public string InspectionTypeDesc { get; set; }
        /// <summary>
        /// 二级异常ID
        /// </summary>
        public Guid InspectionItemInfoId { get; set; }
        /// <summary>
        /// 二级异常
        /// </summary>
        public string InspectionItemInfo { get; set; }
        /// <summary>
        /// 异常描述
        /// </summary>
        public string InspectionDetails { get; set; }
        /// <summary>
        /// 异常等级ID
        /// </summary>
        public Guid InspectionSeverityDescId { get; set; }
        /// <summary>
        /// 异常等级
        /// </summary>
        public string InspectionSeverityDesc { get; set; }
        /// <summary>
        /// 状态 未处理 =0,处理中 = 1,已驳回 = 2,已完成 = 3,,待确认 = 4
        /// </summary>
        public int State { get; set; }
        /// <summary>
        /// 提报人
        /// </summary>
        public string Submitter { get; set; }
        /// <summary>
        /// 提报人ID
        /// </summary>
        public long? CreatorUserId { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreationTime { get; set; }
        /// <summary>
        /// 处理角色
        /// </summary>
        public string Roles { get; set; }
        /// <summary>
        /// 处理角色ID
        /// </summary>
        public long RolesId { get; set; }
        /// <summary>
        /// 责任部门ID
        /// </summary>
        public long OrganizationUnitsId { get; set; }
        /// <summary>
        /// 责任部门
        /// </summary>
        public string OrganizationUnits { get; set; }
        /// <summary>
        /// 处理人Id
        /// </summary>
        public long? HandlerId { get; set; }
        /// <summary>
        /// 处理人
        /// </summary>
        public string Handler { get; set; }
        /// <summary>
        /// 处理完成时间
        /// </summary>
        public DateTime? CompleteTime { get; set; }
        /// <summary>
        /// 原因分析
        /// </summary>
        public string CauseAnalysis { get; set; }
        /// <summary>
        /// 处理措施
        /// </summary>
        public string TreatmentMeasures { get; set; }

        /// <summary>
        /// 耗费时间
        /// </summary>
        public string CostTime { get; set; }
        /// <summary>
        /// 确认人ID
        /// </summary>
        public long? ConfirmerId { get; set; }
        /// <summary>
        /// 确认人
        /// </summary>
        public string Confirmer { get; set; }
        /// <summary>
        /// 确认时间
        /// </summary>
        public DateTime? ConfirmTime { get; set; }
        /// <summary>
        /// 确认意见
        /// </summary>
        public string ConfirmSuggest { get; set; }
        /// <summary>
        /// 规程文件ID
        /// </summary>
        public string FileId { get; set; }
        /// <summary>
        /// 工艺编号
        /// </summary>
        public string TechniqueNumber { get; set; }
        /// <summary>
        /// 规程名称
        /// </summary>
        public string TechniqueName { get; set; }
        /// <summary>
        /// 工序ID
        /// </summary>
        public Guid? ProcessId { get; set; }
        /// <summary>
        /// 工序图号
        /// </summary>
        public string ProcessesCode { get; set; }
        /// <summary>
        /// 工序名称
        /// </summary>
        public string ProcessesName { get; set; }
        /// <summary>
        /// 工步ID
        /// </summary>
        public Guid? StepId { get; set; }
        /// <summary>
        /// 工步图号
        /// </summary>
        public string WorkStepCode { get; set; }
        public List<InspectionFileUploadDto> InspectionFileUploadDto { get; set; }

    }
}
